iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 25
1
Modern Web

網站前端後端與API系列 第 25

API中的GET與POST-1

  • 分享至 

  • xImage
  •  

用GET從前端帶參數給後端

我們之前提到,動態網站是有資訊交換的,就像一般網站中登入會員後,通常會有會員資料的頁面,這需要從前端帶資訊網後端送,有幾種常用的方式,我們會跟大家介紹GET與POST兩種方式。
GET我們已經不知不覺中一直用了,有發現嗎?index.js中的route.get就是在後端設定收到GET的Request的時候該怎麼Response的函式,也就是說...

瀏覽器的網址列就是一種GET發送要求的方式

所以我們之前輸入網址,其實就是對指定位置(網址)發送一個GET指令。
GET也可以帶著不同的參數做Request
我們在index.js中新增這一段:

/* 增加新的router,用GET帶參數 */
router.get('/getparams', function(req, res, next) {
  var idFromBrowser = req.query.id;
  if (idFromBrowser == "123"){
    console.log(idFromBrowser);
  	res.send('這是id=123時的頁面'+idFromBrowser);
  }else{
    console.log(idFromBrowser);
    res.send('這是其他的頁面'+idFromBrowser);	
  }
});

大多數用法我們都懂了,新增的部分有幾個跟大家說明:
第二行的var idFromBrowser = req.query.id;
是指定一個變數idFromBrowser的值是req.query.id
req.query.id意思是,當有一個GET要求帶著參數名稱'id'(可自訂)要求時,收到要求後解析出id所帶的值。
接下來if...else部分,就是在後端用這個前端id所帶的值判斷,要給予什麼樣的回應給前端。
當id=123(字串)時,res.send()一段內容回去,res.send是另一個res的用法,會將括號內的內容帶入新的頁面中response給發送要求的前端使用者。
當id!=123時,也會res一段內容回去。
console.log是js常用的用法,目標是在伺服器監控台(terminal/cmd)看到現在這個console.log()括號的內容,我們在這邊用法是為了確定,有收到參數。

這樣就完成後端部分了,明天我們繼續討論前端怎麼帶參數request。


上一篇
NodeJS的動態網站概念-6
下一篇
API中的GET與POST-2
系列文
網站前端後端與API30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言